A r t i c l e s
Navigation

Note: This site is
a bit older, personal views
may have changed.

M a i n P a g e

D i r e c t o r y

ZenHacker Articles


zenhacker.com
To quote...
"Norway has oil, and the rising price of oil made them falsely believe that they now have more cash to spend. Falsely, because half of their oil revenues are invested in the bankrupt economy of the USA. Anyway, money must roll so they decided to resurface some major inner city roads in Oslo to "improve them". It took almost a year to pull it off. No costs were spared. The result "looks good". Until you try to actually walk on those roads, then you'll break your neck. Newspapers reported a pharmacy as saying: "We get a few people every day with bruises and abrasions because they stumbled on the misaligned, uneven tiles".

Similar "renovation" is exactly what Borland has been doing after Delphi 5. They spent a king's ransom on acquiring third-party vendors and half a decade on making Delphi "look better", and the end result sucks. The third party software, bought for tens of millions of USD is so unstable that developers are forced to disable most of it. The new IDE is sluggish, unstable, buggy and leaks memory. But it looks great. To some.

Borland embarked on a kamikaze mission after Delphi 5. Delphi 6 broke a lot of code and although it had shiny new icons, it was only marginally improved, especially considering the price. Testing had hardly been done at all, so when people tried to compile their code it either didn't compile because the assembler had been rewritten and was not fully downwards compatible (TGIFImage comes to mind, I had to distribute a version that compiled because Anders Melander got hit by a truck), or the applications had nasty, hard-to-track bugs caused by the fact that the default record alignment was changed.

For the first time, customers that complained were viciously insulted by Borland's own employees (TeamB, the moderators of their newsgroups, remunerated in natura - Borland products with a value of many thousands of dollars). When they continued complaining, their posts would be cancelled, and if they persisted in being critical, they were permanently banned from the Borland news server. It was irrelevant that those customers were responsible for the purchase of Delphi licenses, Borland found itself in a pickle and needed to do damage control before anything else. Customer input was not welcome because "No single individual can be representative for all our customers and therefore your opinion is irrelevant".

The reason Delphi 6 was not much more than a "broken Delphi 5 with shiny enhancements" was twofold:

1) Microsoft had bought away thirty Borland employees. Chief Architects, Senior Technology Officers, Compiler Engineers, that kind of folk. (I posted a list of names and job descriptions but that got cancelled).

2) Borland's new leadership didn't have the foggiest clue about software development (and were therefore doomed to run their company into the ground, according to Joel Spolsky), and believed that if they would not jump on the dotnet bandwagon, they would lose out.

They hardly had any competent technical people any more after MS's headhunted the lot of them, but they did have a cool two hundred million dollar in lawsuit settlement fees from Microsoft. Borland's clueless PHB's thought: "Let's buy a lot of "enterprise" stuff and throw it all together and because Microsoft was so nice to us and now is a shareholder, let's become their sperm swallowing whore" (I am taking some artistic liberties).

Some years have passed and we are in 64-bit land. Last time I checked, I did not find any more 32-bit machines for sale in my local computer shop. Delphi can't compile a 64-bit executable (just about any competing product can, including Free Pascal, made by a few kids after school). Delphi has -insanely and deliberately- no Unicode support. Troy Wolbrink made in his spare time a comprehensive freeware Unicode component library for Delphi, but Borland made sure they did not include it into their product (they bought al lot of less-urgent components though). They must have thought it would hurt their (Unicode-enabled) Delphi for dotnet sales.

For the past decade, Borland has neglected their compiler. Floating point performance, for example, is abysmal. They said that "the future will be dotnet" and Borland permanently banned my IP address when I posted a reference about Microsoft having greatly improved their C++ compiler (a scoop, based on insider info from Robert Hyatt, programmer of Crafty, a freeware chess engine. Professor Hyatt regularly visited the MS C++ compiler team's offices).

It's 2005 and dotnet is definitely dead as a doornail on the desktop. 64 bits is all hip. Developers are scrambling to get their stuff compiled for 64-bit OSes. Borland has not even published a roadmap for 64-bit at the time of writing. Their official standpoint is that "dotnet should be enough for all of our customers, at least the customers we want to have anyway". Us that need to be competitive in the speed-arena are forced to switch to something else, delegating Delphi to make 32-bit GUI front ends to 64-bit C++ code.

It is hard to believe that Borland could be so naive. Or perhaps I am? OK, their best developers have been snatched away, but then again, it takes not much experience with software development to understand that dotnet on the desktop would always be a niche affair at best. Interpreted BASIC has died out as well and dotnet, which is based on the technology of interpreted BASIC (with a caching JITer as the only difference), should suddenly "take over"? Not even the marketing might of Microsoft can pull that off. Because MS won't be physically and legally able to scrap the Win API. So there is hardly an incentive, as dotnet will simply be a bunch of DLL's so if you want some of Longhorns' eye candy, you can link to it.

But the side effect of MS's brainwashing campaign is a Borland without an exiting or competing new product. Recently, Bill Gates said: "Win32 and the Windows API will stay around forever, at least during my lifetime, the next fifty years". So why compete with Microsoft in an area Microsoft is best at? (Borland re-instated a two-year news-server ban after I dared to pose this question).

Borland believed that "The Win API will disappear, the next Windows will have it as an emulation layer on top of dotnet and the next version will likely have no Win API at all". Lots of FUD was allowed to be posted on how dotnet was MS's new "Operating System" and how "Microsoft will rewrite all their software into C# because it will run faster due to the unique way the JITer can optimize for a specific CPU", whilst people who pointed out that dotnet is nothing more than glorified BASIC where MS owns the runtime (and decides what you can run, and how, and how fast), were ridiculed and intimidated ("If you don't use more polite words and use "IMO" every second sentence, we will cancel your posts" - I am not talking about my own posts, I am talking about literally dozens of Borland customers). Borland's Delphi 7 still is the undisputed Win32 devtool when you add a few third-party libraries, but Delphi 7 is not for sale any more. No sane person would choose Borland tools to do C#, as Borland is constantly lagging behind MS's dotnet versions, and their RAD tools are more expensive to boot.

Eclipse is a fine Java IDE so Borland is loosing out with JBuilder as well. Not to mention the waning appeal of Java, which is, like dotnet, based on the exiting technology of interpreted BASIC. Borland desperately dedicated a dozen developers to Eclipse so it can assimilate the Eclipse code into JBuilder, but I doubt the effectiveness of that. "They are flapping", as Andy McNab would put it.

Basically, Borland does not have a viable product any more. That does not mean that Delphi as a language hasn't got a future, far from it. Object Pascal is gaining critical mass! Free Pascal is, at the time of writing, being ridiculed by Borland's "party line" newsgroup regulars, but I predict that the topic will soon become taboo. The number of cancelled messages per day on the Borland servers is staggering nowadays.

Who allowed Free Pascal to become a threat to Borland's flagship product? Borland has. By not developing Delphi for the past half decade but putting all their eggs in Microsoft's basket, they have made it possible for a bunch of hobbyists to outperform Delphi in major strategic points already (being cross-platform, 64-bit EXEs).

When developers realize that in order to be able to target 64-bit CPU's natively, they will have to abandon Delphi, they might just join the effort to make Free Pascal a success, because the alternative would be to port another language or wait until the pointy hared bosses at Borland come to their senses. But it is too late for that already. Borland never recovered from being "Inprise" and in fact it has never ceased to be "Inprise". Naming your limping software company after an old kick-ass alter ego will not cut it.

Where is my loyalty? With my employer. I need to protect my employer's investment in their Object Pascal code base. So I need to ensure that Free Pascal will succeed.

Were else is my loyalty? With myself. I need to protect my own investment in Object Pascal. So I need to ensure that Free Pascal will succeed.

Borland does not enter the equation. It would have been different when Borland would show signs of taking their customers seriously, but on the contrary: Bug reports are ignored and good ideas are censored and the messengers insulted. Their latest product, Delphi 2005, does not work at all. For me. I work for a software company and they gave me a box with Delphi 2005 but I am not using it. It is, in my humble opinion, so buggy that in spite of the EULA, a class action lawsuit would have a chance of succeeding. Borland has switched to the business model of making the bulk of their money selling bug fixes.

Borland has said that many cool new Delphi enhancements are "impossible" because "our dotnet version of the language would not be able to support it because the dotnet runtime does not support it".

You might accuse me of "not being objective", and of course you are right. I feel betrayed by Borland, but then again, it was my own fault to become so dependent on a single vendor. The ironic thing about Borland is that they are sick, but they don't realize it yet, because those who could have made that diagnosis don't work there any more, and the current Borelanders will tell you that it's "all in your head". An example: I am being considered by TeamB (Rudy Velthuis and Nick Hodges, resp. a dentist and an unemployed programmer) as such a big threat to Borland that I deserve a three-year blanket ban on their news servers. But last month Borland themselves let me evaluate an alpha version of their new product, after I faxed back an NDA. The right hand not knowing what the left hand is doing..

Before too long, Free Pascal will have become a rare example of Open Source where contributors benefit synergistically in terms of new market share gained, translating into hard cash earned. What the guys over at Free Pascal have to do is do a makeover of their website and encourage people to port their component libraries. No need for the vendors themselves to do it, just port whatever you use and submit it to the vendor, who will be able to sell a Free Pascal version. This is the only way to be sure our products will run on the platforms of the future."


To quote...
"Money kills quality

As soon as Google became a publicly traded company and raked in the big money, some of their existing products and services went downhill.

A few months after they got access to hundreds of millions of dollars, they used a substantial portion of those dollars to degrade their core business, which is search. They hired an army of programmers to work on "improving" Google's services, to the point of near-un-usability to expert users.

Before Google's founders became billionaires, you could click "next 10 postings", when searching USENET. But GOOG's army of coders made a JavaScript interface to the USENET archive, with the side effect that any computer savvy person that does not want to open up his machine to virii and Trojans and therefore has disabled scripting, will not be able to navigate a USENET thread any more without remembering which posting number he's looking at.

Google, after they became GOOG, had no qualms claiming a sizeable chunk of screen real estate for dubious purposes, but they deemed it necessary to remove a little link saying "Next".

Microsoft has walked the same path and by sheer kinetic energy, survived. MSFT dumbed down Windows XP to the detriment of power users but still they are able to smell an opportunity to compete with Google. MSFT waited until after GOOG money inevitably started to degrade their services, to announce that "We can do a better job".

It's not just that there's *money* in the search business, which is beyond dispute. The fact is that as soon as there's big money involved, quality almost unavoidably suffers and there is an opportunity for competition. This is of course not an universal law, but it is especially valid for inexperienced players.
Money in such a case is like giving a novice oil painter unlimited time to "finish" a painting, and forcing him to use that time to "finish" the painting, even though he initially declared it "done". It has happened with a lot of nifty little utilities, to the point that people are often preferring previous versions because the latest version is a piece of privacy-infringing, security-hole infested bloatware.

Don't let money kill your business. When you're big, you can survive Big Money. When you're small, getting a capital injection in the million-dollar range is tantamount to suicide if you don't keep your legs firmly on the ground.

Just the side effects of hiring a bunch of codemonkeys can kill your company, not to mention what they could do to the product itself.


To quote...
"Looks Are Everything

Tall men with good hair (and a deep voice) are much more likely to get promoted to management than short, balding men. Regardless of the fact that those short, bald men might make better managers.

Like it is with with judging our fellow men, good looking applications provoke the perception of being "good", in spite of them sometimes being much worse than similar applications that look less "good".

Take Apples' QuickTime player. It has inferior functionality to Media Player Classic.

Apple's MOV player has no real-time rescaling, no one-click pausing when you click on the picture area and it behaves in all possible ways totally counter-intuitive. Still, computer novices like it, perhaps because it looks less intimidating to them. They don't know that in fact - with some exaggeration - they are using a steaming pile of cow dung, disguised by a thin veneer of chrome. The media and advertising took care of that.

It is much cheaper to put a nice skin over a rotten application than to fix the application, therefore, as long as folks don't care too much about features but mainly are concerned with GUI eye candy, this strategy works. Personally, I find it risky business.

The computer software & hardware Gauss curve is, as mathematicians call it, light-tailed (steep and narrow with not much room for fringe players), and at the left end we find players like Apple, with overpriced, great-looking but inferior products pushed by clever marketing and just enough enough customers to survive, and at the right end we find companies such as Borland, with its superior RAD tools (Delphi is superior to everything, even to C# .net), but awfully bad marketing and victim of Microsoft buying off three dozen of their best employees.

There is not much we can do about it. In Stone Age humans, the notion that good looks equal quality provided an evolutionary advantage. IQ itself follows a light-tailed Gauss curve, and likewise does computer product adoption as related to its quality."


To quote...
"Technology Sluts Worse Than Technology Whores

A whore is a person offering use of the body against payment, and a slut is a person who does it for free just for the heck of it. I define a "Technology Whore" as a person who, regardless of the merits of a technology, adopts and embraces a technology mainly for financial reasons.

An example of a Technology Whore is a person who decides to switch from Delphi to C#, not because C# is better or nicer but because it promises more profitable employment. An example of a Technology Slut is someone who decides to use XML instead of an INI file purely because XML is "cool" and has to be "digged", even though an INI file would be in that particular case a better solution.

I would like to focus on the most obnoxious variety of technology slut, the "Retarded Technology Slut": Someone, for example, who really believes that XML is always better than an INI file. The Retarded Technology Sluts are worse than the Technology Whores because you can't avoid them. You can avoid the Technology Whores. They tend to cluster in Dilbertesque environments.

The Retarded Technology Sluts are everywhere and they can be very obnoxious. When you let a Retarded Technology Slut alone with a PC for a while, you'll get software that defies common sense.

Examples:

A) A function "SafeConvert" that calls the function "Convert" but it swallows the exception EIntegerOverflow and returns a safe default.

But they don't trap any other exceptions like EDivisionByZero, so the function should be called "RandomUnhandledExceptionsConvert".

The Retarded Technology Slut wanted to use those cool exceptions but the retardation makes them believe that "swallowing is bad".

B) Instead of persisting some class properties as an XML or INI file to ensure upwards & downwards compatibility with its own evolving data format, they binary-stream persistent classes that lock the file format to a class implementation.

Since streaming a class to binary using some proprietary format and technology is sexier than using a text file, the slut is drawn to such practices as a fly to shit.

What's good about the Retarded variety of the Technology Slut: They never last long in their job - they are unable to maintain their own code."

About
This site is about programming and other things.
_ _ _